#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
#include <cmath>
#include <cstdlib>

int matri_multi(int **a,int **b,int len);

int main()
{
	int a[4][4]={1,2,3,4,2,2,3,4,3,2,3,4,4,2,3,4};
	int b[4][4]={1,2,3,4,2,2,3,4,3,2,3,4,4,2,3,4};
	int len=sizeof(a[0]) / sizeof(a[0][0]);
	matri_multi((int **)a,(int **)b,len);
	return 0;
}

int matri_multi(int **a,int **b,int len)
{
	double c[len][len];
	for(int i=0;i<len;i++)
	{
		for(int j=0;j<len;j++)
		{
			c[i][j]=0;
			for(int k=0;k<len;k++)
			{
				c[i][j]=c[i][j]+(*((int *)a+len*i+k)) * (*((int *)b+len*k+j));
			}
		}
	}
	for(int i=0;i<len;i++)
	{
		for(int j=0;j<len;j++)
		{
			cout << c[i][j] << " ";
		}
		cout << "\n";
	}
	return 0;
}
